package com.duobaoyu.dby.supply.common.biz.remote.to.refund;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @className: QueryApplyAfterSaleVO
 * @description: 售后回查VO
 * @author: lyy
 * @createDate: 2022-07-28 12:26
 * @Version: 1.0
 */
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class ApplyAfterSaleDetailTO implements Serializable {

    private static final long serialVersionUID = -8473271019415158334L;
    /**
     * 描述：渠道编码
     */
    private String channelCode;
    /**
     * 描述：订单编码
     */
    private String orderSn;

    /**
     * 业务来源
     */
    private String showServerName;
    /**
     * 描述：售后状态
     * -1 = 售后失败
     * 11 = 待审核
     * 20 = 等待驳回确认
     * 21 = 待提交渠道审核
     * 22 = 待渠道审核
     * 23 = 渠道审核成功
     * 31 = 待买家寄回
     * 41 = 待收货入库
     * 50 = 待用户确认
     * 70 = 售后关闭
     * 79 = 售后完成
     */
    private Integer status;

    /**
     * 退款是否成功
      */
    private Boolean refundSuccess;
    /**
     * 描述：是否删除 0-否 1-是
     */
    private Integer delFlag;
    /**
     * 描述：售后单号
     */
    private String afterSaleSn;
    /**
     * 描述：客户寄回地址
     */
    private AfterSaleSendBackAddressTO afterSaleSendBackAddress;

    /**
     * 描述：申请退款金额
     */
    private BigDecimal applyRefundAmount;
    /**
     * 描述：渠道售后单号
     */
    private String channelAfterSaleSn;

    /**
     * 描述：运费申请退款金额
     */
    private BigDecimal freightApplyRefundAmount;
    /**
     * 描述：渠道运费退款金额
     */
    private BigDecimal channelFreightActualRefundAmount;
    /**
     * 描述：失败原因
     */
    private String failReason;

    /**
     * 调用来源
     */
    private String serverName;

    /**
     * 描述：售后类型
     */
    private Integer afterSaleType;
    /**
     * 描述：申请退款金额
     */
    private BigDecimal channelActualRefundAmount;

    /**
     * 描述：业务售后单号
     */
    private String bizAfterSaleSn;

    /**
     * 取件类型 1->上门取件 2->客户送货 3->客户发货 4->其他
     */
    private Integer pickupType;
    /**
     * 售后商品
     */
    private List<AfterSaleItemTO> afterSaleItemList;
}
